3.Pandas赋值及数据操作

您所在的位置:网站首页 python读取csv某一列 pandas 3.Pandas赋值及数据操作

3.Pandas赋值及数据操作

2023-09-07 09:46| 来源: 网络整理| 查看: 265

文章目录 0 引言1 Pandas赋值2 Pandas数据操作

0 引言

Pandas处理表格的数据时,有时候需要对某一行或者某一列的一个值需要赋值,有时候也需要其他的数据操作,比如删除,更改等操作。

1 Pandas赋值 import pandas as pd import numpy as np

生成DataFrame表格数据

dates = np.arange(20200101,20200107) df1 = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D']) df1 ABCD20200101012320200102456720200103891011202001041213141520200105161718192020010620212223 df1.iloc[2,2] 10

对具体位置重新赋值

df1.iloc[2,2] = 100 df1 ABCD202001010123202001024567202001038910011202001041213141520200105161718192020010620212223

通过标签和表头来重新赋值

df1.loc[20200102,'B'] = 200 df1 ABCD20200101012320200102420067202001038910011202001041213141520200105161718192020010620212223

先判断某行某列满足某个条件,然后赋值

df1[df1.A > 10] = 0 df1 ABCD20200101012320200102420067202001038910011202001040000202001050000202001060000 df1.A[df1.A == 0] = 1 df1 ABCD20200101112320200102420067202001038910011202001041000202001051000202001061000 2 Pandas数据操作

添加指定列

df1['E'] = 10 # 添加一列 df1 ABCDE20200101112310202001024200671020200103891001110202001041000102020010510001020200106100010

调用Series添加指定列

df1['F'] = pd.Series([1,2,3,4,5,6],index=dates) df1 ABCDEF20200101112310120200102420067102202001038910011103202001041000104202001051000105202001061000106

对某行某列的值进行修改

df1.loc[20200107,['A','B','C']] = [1,2,3] df1 ABCDEF202001011.01.02.03.010.01.0202001024.0200.06.07.010.02.0202001038.09.0100.011.010.03.0202001041.00.00.00.010.04.0202001051.00.00.00.010.05.0202001061.00.00.00.010.06.0202001071.02.03.0NaNNaNNaN

调用 .append 函数来实现添加指定行

s1 = pd.Series([1,2,3,4,5,6],index=['A','B','C','D','E','F']) s1.name = 'S1' df2 = df1.append(s1) df2 ABCDEF202001011.01.02.03.010.01.0202001024.0200.06.07.010.02.0202001038.09.0100.011.010.03.0202001041.00.00.00.010.04.0202001051.00.00.00.010.05.0202001061.00.00.00.010.06.0202001071.02.03.0NaNNaNNaNS11.02.03.04.05.06.0

调用 .insert 在具体位置插入列

df1.insert(1,'G',df2['E']) # 在第一列插入索引为G的df2中的E列 df1 AGBCDEF202001011.010.01.02.03.010.01.0202001024.010.0200.06.07.010.02.0202001038.010.09.0100.011.010.03.0202001041.010.00.00.00.010.04.0202001051.010.00.00.00.010.05.0202001061.010.00.00.00.010.06.0202001071.0NaN2.03.0NaNNaNNaN

调用 .pop 弹出某列,并调用 .insert 插入某列

g = df1.pop('G') # 弹出G列 df1.insert(6,'G',g) # 在最后插入 df1 ABCDEFG202001011.01.02.03.010.01.010.0202001024.0200.06.07.010.02.010.0202001038.09.0100.011.010.03.010.0202001041.00.00.00.010.04.010.0202001051.00.00.00.010.05.010.0202001061.00.00.00.010.06.010.0202001071.02.03.0NaNNaNNaNNaN

调用 del 删除某列

del df1['G'] # 删除G列 df1 ABCDEF202001011.01.02.03.010.01.0202001024.0200.06.07.010.02.0202001038.09.0100.011.010.03.0202001041.00.00.00.010.04.0202001051.00.00.00.010.05.0202001061.00.00.00.010.06.0202001071.02.03.0NaNNaNNaN

调用 .drop 删除指定列

df2 = df1.drop(['A','B'],axis=1) # 删除AB列 df2 CDEF202001012.03.010.01.0202001026.07.010.02.020200103100.011.010.03.0202001040.00.010.04.0202001050.00.010.05.0202001060.00.010.06.0202001073.0NaNNaNNaN

调用 .drop 删除某行

df2 = df1.drop([20200101,20200102],axis=0) #删除行 df2 ABCDEF202001038.09.0100.011.010.03.0202001041.00.00.00.010.04.0202001051.00.00.00.010.05.0202001061.00.00.00.010.06.0202001071.02.03.0NaNNaNNaN


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3